﻿using System;

namespace mvcForum.Core.Interfaces.Events {

	public enum EventPriority {
		/// <summary>
		/// Use this priority for handlers that can change the data on the business objects that caused the event.
		/// This could be anti-spam handling etc. The sooner a status change occurs, the less work the following
		/// handlers need to do. No need to quarantine a topic/post more than once!
		/// </summary>
		Highest = 0,
		/// <summary>
		/// Use this priority for handlers that can change the data on the business objects that caused the event.
		/// This could be anti-spam handling etc. The sooner a status change occurs, the less work the following
		/// handlers need to do. No need to quarantine a topic/post more than once!
		/// </summary>
		High = 50,
		/// <summary>
		/// Use this priority for handlers that can change the data on the business objects that caused the event.
		/// This could be anti-spam handling etc. The sooner a status change occurs, the less work the following
		/// handlers need to do. No need to quarantine a topic/post more than once!
		/// </summary>
		Medium = 125,
		/// <summary>
		/// Use this for handlers that doesn't change data on any business objects.
		/// </summary>
		Low = 200,
		/// <summary>
		/// Use this for handlers that doesn't change data on any business objects.
		/// The search indexer run on this priority, the follow topic/forum handlers too.
		/// </summary>
		Lowest = 255
	}
}